package com.tomorrowbbs.domain.enums;

public enum VerifyRegexEnum {
    NO("", "不校验"),
    //IP地址
    IP("^((25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$", "IP地址"),
    //正整数
    POSITIVE_INTEGER("^[1-9]\\d*$", "正整数"),
    //由数字、26个英文字母或者下划线组成的字符串
    NUMBER_LETTER_UNDER_LINE("^[0-9a-zA-Z_]+$", "由数字、26个英文字母或者下划线组成的字符串"),
    //邮箱
    EMAIL("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", "邮箱"),
    //手机号码
    PHONE("^((13[0-9])|(14[5,7])|(15[^4,\\D])|(18[0-9]))\\d{8}$", "手机号码"),
    //数字，字母，中文，下划线
    COMMOM("^[0-9a-zA-Z_\u4e00-\u9fa5]+$", "数字，字母，中文，下划线"),
    //只能是数字，字母，特殊字符 8-18位
    PASSWORD("^[0-9a-zA-Z~!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>/?]+$", "只能是数字，字母，特殊字符 8-18位"),
    //字母开头，由数字、英文字母或则下划线组成
    ACCOUNT("^[a-zA-Z][0-9a-zA-Z_]*$", "字母开头，由数字、英文字母或则下划线组成"),
    //金额
    MONEY("^(([1-9][0-9]*)|([0-9]\\.\\d{1,2}))$", "金额");
    private String regex;
    private String desc;

    VerifyRegexEnum(String regex, String desc) {
        this.regex = regex;
        this.desc = desc;
    }

    public String getRegex() {
        return regex;
    }

    public String getDesc() {
        return desc;
    }
}
